<!--cryptdoc.htm -->
<HTML><HEAD>
<!--<BASE HREF="http://members.bellatlantic.net/~sweyer/newton/cryptdoc.htm">-->
<TITLE>Crypto</TITLE>

<META NAME="SHORTTITLE" CONTENT="CryptDoc">

<META NAME="data.isbn"	CONTENT="isbn">

<!-- commented version in crypex01.htm -->
<META NAME="data.crypto/puzzlink.htm" CONTENT="func(x,y,href,obj)
begin
	GetRoot().copperfield:close();
	GetRoot().|Crypto:TKnollSys|:?newCode(isbn, nil, obj.item.data, nil);
end">

<!-- commented version in crypex02.htm -->
<META NAME="data.protoFlash" CONTENT="{
	_proto: @183, viewBounds: RelBounds(0,0,180,120),
	viewJustify: 2+4+16+64, ReOrientToScreen: @588,
	}">

<META NAME="data.crypto/crypactn.htm" CONTENT="func(submitobj,title,url,data)
begin
	local subField := data.submitBut;
	local fieldNum := SubStr(subField, CharPos(subField,$ ,0)+1, nil);
	local answer := data.(Intern(&quot;Ans&quot; &amp; fieldNum));
	if BeginsWith(subField, &quot;Answer&quot;)
	then begin
		if StrFilled(answer)
		then BuildContext({
			_proto: protoFlash,
			text: subField &amp; $\n &amp; answer,
			}):open();
		end
	else begin
		GetRoot().copperfield:close();
		GetRoot().|Crypto:TKnollSys|:?newCode(
			isbn &amp;&amp; $# &amp; fieldNum, nil,
			data.(Intern(&quot;Puz&quot; &amp; fieldNum)), answer);
		end;
	NIL;
end">

<META NAME="data.crypto/cryptapp.htm" CONTENT="&quot;Crypto:TKnollSys&quot;">
</HEAD><BODY>

<H1><A NAME="top">Crypto Contents</A></H1>

<UL>
<LI><A HREF="#Recent">Recent Changes</A>

<LI><A HREF="#Describe">What is Crypto?</A>

<LI><A HREF="#HowToUse">How to Use Crypto?</A>
	<UL>
	<LI><A HREF="#UseIntro">Introduction</A>
	<LI><A HREF="#ExampleScenario">first time: Example</A>
	<LI><A HREF="#Paper1Scenario">paper puzzle: Crypto</A>
	<LI><A HREF="#Paper2Scenario">paper puzzle: Notes [Newtworks]</A>
	<LI><A HREF="#BookScenario">Newton book puzzles</A>
	<LI><A HREF="#WebScenario">web puzzles</A>
	<LI><A HREF="#CreateScenario">create and save your own</A>
	<LI><A HREF="#SoupScenario">soup-based puzzles</A>
	</UL>

<LI><A HREF="#UserSummary">User Interface Summary</A>
	<UL>
	<LI><A HREF="#otherApps">Other Applications</A>
	<LI><A HREF="#overview">Crypto: Overview</A>
	<LI><A HREF="#info">Crypto: Info ("i") button</A>
	<LI><A HREF="#gestures">Crypto: gestures/characters</A>
	<LI><A HREF="#action">Crypto: action button/menu</A>
	</UL>

<LI><A HREF="#Download">Where do I download Crypto?</A>
	<UL><LI><A HREF="#Register">How do I register?</A></UL>

<LI><A HREF="#GeneralFormats">Puzzle Formats, API</A>
</UL>

<P><A NAME="Recent">Recent Changes</A>
<UL>
<LI>16 Feb 98: Crypto 1.1 released: added " to allowable punctuation (top row);
prevents substitution of identical answer for code letter; updated URLs

<LI>10 Sep 97: Crypto 1.0 released.
</UL>

<H1><A NAME="Describe">What is Crypto?</A></H1>
<A HREF="crypto/cryptapp.htm"><IMG SRC="bitmaps/crypicon.gif" ALT="Crypto icon" HEIGHT=32 WIDTH=32></A>

<P>
<CODE><A HREF="crypto/puzzlink.htm">FMNISH TJIIHMST THGXPKO FMNISHOMZD, FHRB,
FPIWBM (TPKOGB FWZMZFSBM TJETSPSJSPHK) IJVVGBT, GPYB SWHTB PK KBLTIZIBMT</A></CODE>
<P>
= Crypto supports solving cryptogram, code, cipher
(single character substitution) puzzles, like those in newspapers

<P>
Crypto is a shareware, 2.x-only Newton application: it works best on
MesssagePad 2000 (MP2K) or eMate,
but it can also be used with short puzzles on smaller screens (MP130 or MP120).

<P>
1.x users may want to try  <A HREF="newtpkgs.htm#Schondorf">Cryptograms by Alison Schondorf</A>.

<UL>
<LI><A HREF="#Register">Registration information</A>
<LI><A HREF="#Download">Download Crypto</A>
</UL>
 

<H1><A NAME="HowToUse">How to Use Crypto?</A></H1>

<H2><A NAME="UseIntro">Introduction</A></H2>

<OL>
<LI>
Enter code: transcribe or create a puzzle, <A HREF="#DragDrop">drag&amp;drop text</A>,
<A HREF="#otherApps">copy from other applications</A>;
Crypto displays <A HREF="#LetterFreq">code letter frequencies</A>.

<LI>
<A HREF="#edit1">add, replace</A> or <A HREF="#erase1">erase</A> letters,
<A HREF="#Undo">Undo</A> earlier guesses,
clear all answer letters (<A HREF="#Clear">Clear Answer</A>),
or delete answer and puzzle (<A HREF="#Delete">Delete</A>)

<LI>
Crypto substitutes your guess
for that coded letter elsewhere in the puzzle,
and updates the <A HREF="#LettersUsed">answer letters used</A>;
if already used, it is undone and beeps. Basically, Crypto
reduces tedious filling in and erasing of guesses
(along with mistakes and omissions), so you can devote more time to solving
the puzzle and having fun.

<LI>
You're finished when the puzzle makes sense; if you get stuck,
<A HREF="#hint">?</A> reveals a single character (if an answer is available)

</OL>

<P>
Here are some sample usage scenarios for different puzzle sources:


<H2><A NAME="ExampleScenario">first time</A></H2>
<OL>
<LI>start Crypto
<LI>select <A HREF="#Example">Example</A> (under info menu)
<LI>after a brief pause, text appears, then in code
</OL>


<H2><A NAME="Paper1Scenario">paper puzzle: Crypto</A></H2>
<OL>
<LI>find puzzles in newspapers, magazines
<LI>start Crypto (or select <A HREF="#Delete">Delete</A> if not all of the spaces are displayed)
<LI><A HREF="#edit1">write</A> puzzle in <A HREF="#answerArea">answer area</A>
<LI>after checking that it's correct, select <A HREF="#MoveCode">Move to Code</A>
<LI>select <A HREF="#SaveCode">Save Code to Notes</A> for later use or beaming (optional)
</OL>


<H2><A NAME="Paper2Scenario">paper puzzle: Notes [Newtworks]</A></H2>
<OL>
<LI>open Notes [Newtworks]
<LI>use keyboard to enter puzzle
<LI>select Crypto command on <A HREF="#Notes_Crypto">Notes action</A> [<A HREF="#Newtworks_Crypto">Newtworks:Tools</A>] menu
<LI>Crypto opens with the puzzle
</OL>


<H2><A NAME="BookScenario">Newton book puzzles</A></H2>
<OL>
<LI>install crypex01.pkg [crypex02.pkg]
<LI>tap on book icon
<LI><UL>
	<LI><A NAME="LinkFormatExample">crypex01.pkg</A>: tap on a puzzle link, for example,
	<P><A HREF="crypto/puzzlink.htm">DUU CBADLSYO SH GLM BLESISEME DLE SLESISHSPUM RDASUO. - NDLECS</A>
	<P>(Note: If the link doesn't work in book version, be sure to install Newt's Cape Lite).
	<P>Give up? Hints: D=A,S=I (<A HREF="#LinkFormatAnswer">answer</A>)

	<LI><A NAME="FormFormatExample">crypex02.pkg</A>: tap on Crypto button, for example
	<FORM ACTION="crypto/crypactn.htm" METHOD="POST">
	<TEXTAREA NAME="Puz01" WRAP=ON ROWS=3 COLS=72>JYAB OWPOE, XPO ZVWCYK BWWYW. - AYJOVLWB. LO LT XF MYWSLALKS OEVO YKB LT MYWSLABK. - GYOEBW OBWBTV
	</TEXTAREA>

	<INPUT TYPE=HIDDEN NAME="Ans01" VALUE="Love truth, but pardon error. - Voltaire. It is by forgiving that one is forgiven. - Mother Teresa">
	<BR>
	<INPUT TYPE=SUBMIT NAME="submitBut" VALUE="Crypto: 01">
	<INPUT TYPE=SUBMIT NAME="submitBut" VALUE="Answer: 01">
	</FORM>
	</UL>
<LI>Crypto opens with the puzzle
</OL>


<H2><A NAME="WebScenario">web puzzles</A></H2>
<OL>
<LI>start your Newton web browser, e.g., <A HREF="newtscape.htm">Newt's Cape</A>
<LI>find a puzzle on a <A HREF="#WebSites">web site</A>
<LI>copy the text; drag to clipboard, Notes, Newtworks, Crypto
<LI>drop into Notes [Newtworks]; cleanup source, add title (optional)
<LI>select Crypto command on <A HREF="#Notes_Crypto">Notes action</A> [<A HREF="#Newtworks_Crypto">Newtworks:Tools</A>] menu
<LI>Crypto opens with the puzzle
</OL>

<P>
<A NAME="WebSites">Some possible web sites (if you know of other sources/sites, please let me know):</A>

<UL>
<LI><A HREF="crypto/">updates to Crypto application, additional Newton books of crypto puzzles</A>
(please send me your favorite Crypto puzzles to include, preferably in the
<A HREF="#CryptoBook">example book format</A>, e.g., crypex01.htm/.pkg, crypex02.htm/.pkg
or <A HREF="#Sloup">Sloup format</A>, e.g., crypex03.slp.

<LI><A HREF="http://www.mindspring.com/~fmnshare/today.html">Daily Cryptogram</A>

<LI><A HREF="http://www3.ns.sympatico.ca/manbenn/puzzle.htm">Fun with Cryptograms</A> (copy a line at a time)

<LI><A HREF="http://www.cs.tuns.ca/wcp/puzzle">TUNS Cryptopuzzle</A> Technical University of Nova Scotia (remove ??? in Notes)

<LI><A HREF="http://raphael.math.uic.edu/~jeremy/crypt/cgi-bin/magic_update.cgi">Magic Decoder Game</A> (TryIt with Word Divisions)

<!--<LI><A HREF="http://www2.fwi.com/~deaconblues/cryp/today.html">Cryptoquote of the day</A> (too long? copy a line at a time)-->

<LI><A HREF="http://www.pictoucounty.com/">Pictou County, Nova Scotia</A> weekly newsletter with cryptogram

<LI><A HREF="http://www.a1.com/mhmensa/news.htm">Mid-Hudson Mensa</A> bi-monthly newsletter (Cryptograms section)

<!--<LI><A HREF="http://coach.indiana.net/crypto.htm">Computer Coach Daily Cryptogram</A>-->

<LI><A HREF="http://www.verinet.com/inside/archive.htm">Clio's Cryptogram</A> Inside Fort Collins

<LI><A HREF="http://www.geocities.com/TimesSquare/5146/#Puzzles">CryptoWisdom Fortnightly</A> 10 puzzles every 2 weeks (edit spaces)

<LI><A HREF="http://www.public.usit.net/jparsly/">Cryptogram corner</A>: Mac, Windows applications; links

<LI><A HREF="#PuzzleRing">Puzzle Ring links</A>
</UL>



<H2><A NAME="CreateScenario">create and save your own</A></H2>
<P>
This assumes you have a friend to enter original answer for you,
you enter puzzles for later, or you have a short memory...

<OL>
<LI>start Crypto
<LI>enter a quotation in answer area
<LI>select <A HREF="#Encode">Encode</A>
<LI>select <A HREF="#MoveCode">Move to Code</A>
<LI>select <A HREF="#SaveCode">Save Code to Notes</A>
<LI>solve puzzle; or friend Beams puzzle from Notes
</OL>


<H2><A NAME="SoupScenario">soup-based puzzles</A></H2>
<OL>
<LI>transfer crypex03.slp with Sloup
<LI>start Crypto
<LI>select <A HREF="#CryptoSoup">Crypto Soup...</A>
<LI>select a puzzle from menu
</OL>





<H1><A NAME="UserSummary">User Interface Summary</A></H1>


<H2><A NAME="otherApps">Other Applications</A></H2>
<DL>
<DT><A NAME="Notes_Crypto">Notes:Crypto</A>
<DD>launch Crypto with current Notes (aka Notepad) entry: title and puzzle text.
Crypto automatically adjusts line breaks to fit the current screen size/orientation.
Although Crypto automatically makes a puzzle UPPERCASE,
you can fix a Notes selection yourself by an upward vertical line gesture.

<DT><A NAME="Newtworks_Crypto">Newtworks:Tools:Crypto</A>
<DD>launch Crypto with current Newtworks entry: title and puzzle text.
Newtworks is available only on Newton OS 2.1 devices, i.e., MP2K and eMate.

<DT><A NAME="CryptoBook">Crypto Documents/Books</A>
<DD>there are two HTML document formats I am experimenting with:
	<DL>
	<DT><A HREF="#LinkFormat">link format</A>, e.g., <A HREF="crypto/crypex01.htm">crypex01.htm</A>, .pkg
	<DD>tap on puzzle link to start Crypto with the puzzle;
	tap answer link to see answer (if any) in the document/book.
	<A HREF="#LinkFormatExample">example</A>

	<DT><A HREF="#FormFormat">form format</A>, e.g., <A HREF="crypto/crypex02.htm">crypex02.htm</A>, .pkg
	<DD>tap on Crypto button to start Crypto with the puzzle (and answer);
	if answer provided, use <A HREF="#hint">?</A> in Crypto; or tap answer button in book.
	<A HREF="#FormFormatExample">example</A>
	</DL>
	<P>The Newton books were created from these HTML sources by <A HREF="newtscape.htm">Newt's Cape</A>
<DT><A NAME="Sloup">Sloup files</A>
<DD>You can add/replace <A HREF="#SloupFormat">puzzle format entries</A> contained in a
tab delimited text file, e.g., <A HREF="crypto/crypex03.slp">crypex03.slp</A>,
using <A HREF="sloup.htm">Sloup</A>.
In Crypto, select a puzzle with the <A HREF="#CryptoSoup">Crypto Soup</A> command.

<DT>any application containing text
<DD>highlight and double-tap-drag text to clipboard;
for example, from a web browser such as <A HREF="newtscape.htm">Newt's Cape</A>
then drop onto Crypto icon in Extras; or open Crypto and then drop onto answer or code part of a line.

<DT>directly from another application
<DD>another application can use <A HREF="#API">Crypto's API</A> to initialize a puzzle
</DL>


<H2><A NAME="overview">Crypto: Overview</A></H2>
<DL>
<DT><A NAME="LettersUsed">Letters Used/"Keyboard"</A>
<DD>top of screen.
	<DL>
	<DT>top line: currently allowable letters
		<DL>
		<DT>A-Z
		<DD>for solving a code, or MP120/MP130 portrait screen (try landscape)
		
		<DT>A-Z and <A HREF="#hint">?</A>
		<DD>if a puzzle has an answer

		<DT>A-Z and punctuation
		<DD>for entering a puzzle
		</DL>
	<DD>in addition to handwriting, you can tap here to enter letters --
	be sure to check your pen calibration (in System Prefs)
	since characters are closely spaced; a character (if not already used) appears
	in current (last tapped) answer cell. More characters may appear in landscape orientation
	and larger screens.
	If Crypto puzzles are popular in other countries,
	let me know what other characters need to be included (this could probably be based
	on the "current locale").

	<DT>second line: title/substitutions
	<DD>upon startup, this displays CRYPTO; for a new puzzle, its source and title (if any;
	the title is displayed only temporarily and not editable/saved;
	rather than sacrifice puzzle area, a future title might be displayed/edited via a popup view);
	while solving a puzzle, used code letters appear below corresponding answer letters
	</DL>

<DT><A NAME="answerArea">Answer Area</A>
<DD>the answer area is where you can write letters (in large "handwriting" font)

<DT><A NAME="codeArea">Code Area</A>
<DD>the code area displays code letters (in a smaller font) below each answer line

<DT><A NAME="LetterFreq">Code Frequencies</A>
<DD>bottom of screen. displays occurrences of most frequent code letters.
-- this can be helpful if puzzle frequencies approximate
larger text samples, e.g., ETAOIN SHRDLU in English.
More characters and frequencies appear in landscape orientation/larger screens.

<DT><A HREF="#info">"i" (info)</A>, <A HREF="#action">action (envelope)</A> buttons/menus
<DD>located at lower left and lower right, respectively
</DL>


<H2><A NAME="info">Crypto: "i" button/menu</A></H2>
<DL>
<DT><A NAME="About">About</A>
<DD>displays brief <A HREF="#Describe">About</A> and <A HREF="#Register">Registration</A> information

<DT><A NAME="Help">Help</A>
<DD>displays this document as a Newton book, if installed (or some simple help text);
external links require a web browser such as <A HREF="newtscape.htm">Newt's Cape</A>

<DT><A NAME="Example">Example</A>
<DD>briefly displays the answer:
"WELCOME TO CRYPTO. THIS WILL APPEAR IN CODE FOR YOU TO SOLVE. HAVE FUN!",
then encodes it and moves it to code area

<DT><A NAME="RegisterItem">Register</A>
<DD>this item appears if the Newton register application
is installed; selecting it opens <A HREF="#Register">Register</A>
(there are also web, Macintosh and Windows versions).
</DL>


<H2><A NAME="gestures">Crypto: gestures/characters</A></H2>
<DL>
<DT><A NAME="DragDrop">drag and drop</A>
<DD>drag-and-drop clipboard text into <A HREF="#answerArea">answer</A> (if it's plain text)
or below line into <A HREF="#codeArea">code area</A>.

<DT><A NAME="edit1">add/replace individual letter</A>
<DD>you should be constrained to characters shown at
<A HREF="#LettersUsed">top of screen</A>.
 Crypto updates the puzzle and <A HREF="#LettersUsed">Letters Used</A>;
if letter is already used, it is undone and beeps.
if a letter or punctuation (often C, U, W, I, .) is not recognized properly,
you may need to rewrite more carefully, or you can select it from the <A HREF="#LettersUsed">top A-Z line</A>.

<DT><A NAME="Undo">Undo</A>
<DD>in Newton menu. Undo previous letter substitution (Undo of other commands
may be added in the future)

<DT><A NAME="erase1">erase individual letter</A>
<DD>use scrub gesture, tap a letter and select Clear from popup menu,
or use Undo

<DT><A NAME="erase">erase letters</A>
<DD>use scrub gesture across letters

<DT><A NAME="hint">?</A>
<DD>if you get stuck and an answer is <A HREF="#LettersUsed">available</A>,
you can write or tap ?
to fill in the current cell with the correct answer letter
(if used elsewhere incorrectly, it disappears there). Crypto does
not currently keep score based on time, number of guesses, hints or puzzle difficulty.
</DL>


<H2><A NAME="action">Crypto: action button/menu</A></H2>
<DL>
<DT><A NAME="Clear">Clear Answer</A>
<DD>clear (erase) entire answer, but keep code (see <A HREF="#Delete">Delete</A>)

<DT><A NAME="Encode">Encode</A>
<DD>generate a random code, and encode (and saves) answer text. If randomization produces
an offensive letter sequence, just Encode again.

<DT><A NAME="MoveCode">Move to Code</A>
<DD>move coded text to code area, clear answer area

<DT><A NAME="CryptoSoup">Crypto Soup...</A>
<DD>if there are entries in the Crypto:TKnollSys soup
(typically transferred via <A HREF="#Sloup">Sloup</A>),
a popup menu of puzzle titles appears.

<DT><A NAME="SaveCode">Save Code to Notes</A>
<DD>save code text to Notes. title, organize, Beam, Email from there.

<DT><A NAME="Delete">Delete</A>
<DD>Delete current answer and code, display all blank spaces
(usually for creating new codes)

<DT><A NAME="OpenNotes">Open Notes</A>
<DD>Open Notes application on top;
start a code with <A HREF="#Notes_Crypto">Crypto</A> command

<DT><A NAME="OpenNewtworks">Open Newtworks</A>
<DD>Open Newtworks application on top;
start a code with <A HREF="#Newtworks_Crypto">Tools:Crypto</A> command

<DT><A NAME="OpenNewtsCape">Open NewtsCape</A>
<DD>Open NewtsCape application on top;
a shortcut if you'd rather not close Crypto and/or Newt's Cape is already open
</DL>



<H1><A NAME="Download">Where do I download Crypto?</A></H1>

<H2><A NAME="Register">How do I register?</A></H2>
<P>
Crypto is shareware ($10). &copy; 1997-98, S. Weyer. All Rights Reserved Worldwide.
After several days of trial use, please register your copy via
<A HREF="index.htm#Register">check, Compuserve SWREG (#16101) or Kagi (via web, Macintosh, Windows or Newton Register form)</A>
Registered users have priority for questions, feature requests, bug reports
and access to new versions.

<PRE>Steve Weyer
17 Timber Knoll Dr.
Washington Crossing, PA 18977-1052
Internet: <A HREF="mailto:weyer@kagi.com">weyer@kagi.com</A>
AOL, CIS: SteveWeyer
<A HREF="index.htm">http://members.bellatlantic.net/~sweyer/newton/index.htm</A></PRE>

<P>
You can obtain Crypto from
<UL>
<LI>America Online (PDA:crypto11.sit/CRYPTO10.ZIP)
<LI>Compuserve (NEWTON:CRYP11.SIT/.ZIP)
<LI>ftp from internet Newton servers (&amp; mirrors): AMUG, TVNUG, info-mac (crypto11.sit.hqx) [URLs to be updated]
<LI>this web page (http, ftp)
</UL>


<H2>Crypto 1.1 (.pkg)</H2>
<P>
For downloading directly via http: to Newton with
<A HREF="newtscape.htm">Newt's Cape</A> or other web browser.
Note: when installed, the packages are stored compressed, so take less space than shown.
In order to use the books, be sure to have Newt's Cape or Newt's Cape Lite installed.
<UL>
<LI><A HREF=                                     "crypto/crypto11.pkg">crypto11.pkg</A> application [??K]
<LI><A HREF="http://bigweb.misty.com/weyer/newton/crypto/crypto11.pkg">crypto11.pkg</A> application
<LI><A HREF=                                     "crypto/cryptdoc.pkg">cryptdoc.pkg</A> documentation book [??K]: cryptdoc.htm (this document)
<LI><A HREF="http://bigweb.misty.com/weyer/newton/crypto/cryptdoc.pkg">cryptdoc.pkg</A> documentation book
<LI><A HREF=                                     "crypto/crypex01.pkg">crypex01.pkg</A> examples book [??K]: <A HREF="crypto/crypex01.htm">crypex01.htm</A> in <A HREF="#LinkFormat">Link Format</A>
<LI><A HREF="http://bigweb.misty.com/weyer/newton/crypto/crypex01.pkg">crypex01.pkg</A> examples book
<LI><A HREF=                                     "crypto/crypex02.pkg">crypex02.pkg</A> examples book [??K]: <A HREF="crypto/crypex02.htm">crypex02.htm</A> in <A HREF="#FormFormat">Form Format</A>
<LI><A HREF="http://bigweb.misty.com/weyer/newton/crypto/crypex02.pkg">crypex02.pkg</A> examples book

<LI><A HREF="crypto/">(other examples to follow...?)</A>
</UL>


<P>
The .sit.hqx and .zip archives contain those packages, as well as crypex03.slp.

<H2>Crypto 1.1 (.sit.hqx)</H2>
<UL>
<LI><!--<A HREF="ftp://ftp.amug.org/pub/newton/games-educ/2.x/crypto-1.1.sit.hqx">1.1</A>-->pending: AMUG(ftp)
<LI><!--<A HREF=              "ftp://newton.uah.edu/FTP/games/crypto-1.1.sit.hqx">1.1</A>-->pending: TVNUG (ftp)
<LI><!--<A HREF=      "ftp://mirrors.aol.com/pub/info-mac/nwt/game/crypto-11.hqx">1.1</A>-->pending: info-mac(ftp)

<LI><A HREF=             "http://www.kagi.com/authors/weyer/crypto11.sit.hqx">1.1</A> [??K]
<LI><A HREF=              "ftp://ftp.kagi.com/authors/weyer/crypto11.sit.hqx">1.1</A> (ftp)
<LI><A HREF=   "http://bigweb.misty.com/weyer/newton/crypto/crypto11.sit.hqx">1.1</A>
<LI><A HREF="ftp://bigweb.misty.com/pub/weyer/newton/crypto/crypto11.sit.hqx">1.1</A> (ftp)
</UL>


<H2>Crypto 1.1 (.zip)</H2>
<UL>
<LI><A HREF=             "http://www.kagi.com/authors/weyer/CRYPTO11.ZIP">1.1</A> [??K]
<LI><A HREF=              "ftp://ftp.kagi.com/authors/weyer/CRYPTO11.ZIP">1.1</A> (ftp)
<LI><A HREF=   "http://bigweb.misty.com/weyer/newton/crypto/CRYPTO11.ZIP">1.1</A>
<LI><A HREF="ftp://bigweb.misty.com/pub/weyer/newton/crypto/CRYPTO11.ZIP">1.1</A> (ftp)
</UL>



<H2>New versions?</H2>
<P>
Please email me any problems. 
More puzzles? (please send cryptogram URLs, and any puzzles of your own).
Undo support for commands? Support for other characters?
Future features/versions will depend on
user suggestions, feedback and <A HREF="#Register">registrations</A>
(as well as my time constraints).



<H1><A NAME="GeneralFormats">Puzzle Formats</A></H1>

<P>
Crypto forces the answer and code to be all uppercase letters, with some
punctutation allowed: .,-'?!:; It eliminates extra spaces (but not answer
placeholders like ????? from some web sites -- you need to remove those).

<P>
Crypto generally scans a puzzle and breaks it (at spaces and hyphens) into "lines"
for the current screen size and orientation. If there is a word that is too long,
Crypto uses (and you can use) a ~ to indicate a soft break.

<P>
The puzzle should be shorter than ~150 characters on MP2K/eMate,
since Crypto does not currently support scrolling. If is too long,
it will end with ... to indicate missing letters.

<P>
Ideally, there would be a standard file format/MIME type for Cryptograms,
as there is for Crossword puzzles (if someone knows of one, please let me know).
You can always just access a chunk of puzzle text via
Notes or clipboard -- but other formats can provide ways to hide/use answer information.


<H2><A NAME="LinkFormat">Puzzle "Link" Format</A></H2>
<P>
You can create a collection of puzzles (and answers) as an HTML document
using <A HREF="crypto/crypex01.htm">crypex01.htm</A> as a template.
<A HREF="#LinkFormatExample">earlier example</A>

<DL>
<DT>Newton book (.pkg)
<DD>assuming you have Newt's Cape Lite or regular installed,
tap the puzzle link to start Crypto with that puzzle text

<DT>Newt's Cape (.htm)
<DD>assuming you have Newt's Cape
installed and preference NewtonScript:Compile,
tap the puzzle link to start Crypto with that puzzle text

<DT>other browsers (.htm)
<DD>copy the puzzle text;
tap the answer link to jump later in document to see answer (if any).
</DL>

<P>
Implementation: the puzzle is contained in link text. The link is implemented locally in
<A HREF="newtscape.htm">Newt's Cape</A> to call Crypto.
It might be possible to "hide" the answer text
by concatenating the answer to the puzzle (after a delimiter),
and <FONT SIZE="-8">display it in a much smaller font</FONT>
though this still seems too readable in most browsers.

<P>
<A NAME="LinkFormatAnswer">
Answer to the earlier "link example":</A>
<PRE>DUU CBADLSYO SH GLM BLESISEME DLE
All humanity is one undivided and
SLESISHSPUM RDASUO. - NDLECS
indivisible family. - Gandhi</PRE>

<P>
Back to <A HREF="#FormFormatExample">second example</A>


<H2><A NAME="FormFormat">Puzzle "Form" Format</A></H2>
<P>
You can also create a collection of puzzles (and answers) as an HTML document
using <A HREF="crypto/crypex02.htm">crypex02.htm</A> as a template.
<A HREF="#FormFormatExample">earlier example</A>

<DL>
<DT>Newton book (.pkg)
<DD>tap Crypto button to start Crypto with that puzzle text (and answer, if any);
tap Answer button to see the answer popup in the book, or ? for a hint in Crypto.

<DT>Newt's Cape (.htm)
<DD>assuming you have Newt's Cape
installed and NewtonScript:Compile option on,
tap Crypto or Answer button (as for book)

<DT>other browsers
<DD>copy the puzzle text;
View Document Source to see hidden answer text
</DL>

<P>
Implementation: each puzzle is contained in a TEXTAREA input field;
the answer (if any) is contained in a HIDDEN field. The Crypto button
sends the puzzle text (and answer) to Crypto; the Answer button displays
the answer temporarily in a popup view. These are local client-side actions
written in NewtonScript.



<H2><A NAME="SloupFormat">Sloup Format</A></H2>
<P>
You can create a collection of puzzles (and answers) as a tab-delimited text file
using <A HREF="crypto/crypex03.slp">crypex03.slp</A> as a template, that can
be added to the Crypto:TKnollSys soup by <A HREF="sloup.htm">Sloup</A>. File description:

<DL>
<DT>Crypto:TKnollSys![{structure: 'slot, path: 'title, type: 'string}]
<DD>first line defines the soup name used by Crypto, and an index for title

<DT>{title: "string", code: "string", answer: "string"}
<DD>second line defines the data field order and types (as a NewtonScript frame)

<DT>REPLACE!title
<DD>an optional line. if not present, Sloup just adds all items to the soup.
REPLACE!title treats the title field as a unique name.

<DT>data "line" contains tab-delimited fields
	<DL>
	<DT>title
	<DD>title of the puzzle
	<DT>code
	<DD>puzzle code (optional; if empty, a puzzle is generated from the answer)
	<DT>answer
	<DD>answer text (optional)
	</DL>

<DD>the data can occur in a single line with a tab between title and code,
and tab between code and answer. Blank lines are ignored. To make the line
more manageable/readable, you can include a line continuation character \,
usually after title and code.

<DT>BYE!
<DD>indicates end of data entries (and connection)
</DL>


<H2><A NAME="API">Crypto API</A></H2>

<P>
If you would like to call Crypto (appSymbol: |Crypto:TKnollSys|)
directly from your application, you could use the :newCode API (Application Program Interface),
with the following parameters:

<DL>
<DT>title (nil or string)
<DD>puzzle title. currently, this appears temporarily in the <A HREF="#LettersUsed">Letters Used</A> area.

<DT>text (nil or string)
<DD>generally, this would be nil (in combination with other parameters);
currently, if this is a string, you should set code and answer to nil.

<DT>code (nil or string)
<DD>generally, this would be a coded string; however, if an answer is provided,
and this is nil, Crypto automatically encodes the answer.

<DT>answer (nil or string)
<DD>Crypto uses string to provide hints via <A HREF="#hint">?</A>
and to generate code if none is provided
</DL>

<P>
GetRoot().|Crypto:TKnollSys|:newCode(...) opens Crypto, and initializes title, text and code.
Some examples

<DL>
<DT>:newCode("test1", nil, "XYZ QRT! ZWW...", nil)
<DD>set code with no answer

<DT>:newCode("test2", nil, nil, "THIS IS THE ANSWER")
<DD>save answer for <A HREF="#hint">?</A>, generate a puzzle code

<DT>:newCode("test3", "HERE IS SOME TEXT", nil, nil)
<DD>set the editable text area. user could edit it, Encode it, Move to Code.
</DL>

<HR>
<center>
<table border=6 width=545>
<tr><td><A HREF="http://www.geocities.com/WestHollywood/2555/puzzlrng.html">
<img src="crypto/mazesite.gif" align=left WIDTH=205 HEIGHT=100 border=0 ALT="[Puzzle Ring]"></a>

<td><font size=2>
<center>This <A NAME="PuzzleRing" href="http://www.geocities.com/WestHollywood/2555/puzzlrng.html">
Puzzle Ring</a> site is operated by<BR>
<a href="mailto:weyer@kagi.com">Steve Weyer<BR><BR></A>  
 [ <a href="http://www.webring.org/cgi-bin/webring?ring=puzzle&id=74&next">Next Site</A> 
 | <a href="http://www.webring.org/cgi-bin/webring?ring=puzzle&id=74&skip">Skip one</A> 
 | <a href="http://www.webring.org/cgi-bin/webring?ring=puzzle&id=74&prev">Previous</A> 
 | <a href="http://www.webring.org/cgi-bin/webring?ring=puzzle&random">Random</A> ] 
<br>
  <a href="http://www.geocities.com/WestHollywood/2555/puzzlrng.html">Want to join?</A>
</center>
<td><a href="http://www.webring.org/cgi-bin/webring?ring=puzzle&id=74&next">
<img src="crypto/mazenext.gif" align=right WIDTH=167 HEIGHT=76 VSPACE=12 border=0 ALT="[Next Site]"></A>
</font><P>
</table></center>

<HR>
<TABLE BORDER>
<TR>
<TD WIDTH="60%">
<a href="http://www.puzzledepot.com/brains2.shtml?clicktrade=45228" target="_top">
Aboard The Puzzle Depot</a> - Play online puzzles, board and logic games,
skill contests and trivia tests as well as related books and software for
recreation and K-12 education.

<TD WIDTH="40%"><a href="http://www.puzzledepot.com/newsletter.shtml?clicktrade=45228" target="_top">
Weekly Puzzle Newsletter</a> - Word puzzles, logic games, skill contests and
trivia quizzes to exercise your brain on and win prizes!
</TABLE>

<HR>
<P>Last updated: 16 Feb 1998

<UL>
<LI><A HREF="index.htm">Steve's Releases Page</A>
<LI><A HREF="mailto:weyer@kagi.com">weyer@kagi.com</A>
</UL>

</BODY></HTML>
